package com.ny.zmb.openapi.ysutil.scancode;


import com.ny.zmb.openapi.ysutil.annotation.NotBlank;
import com.ny.zmb.openapi.ysutil.base.BaseBizReqCommand;

import java.io.Serializable;

public class BackCodePayReqCommand extends BaseBizReqCommand implements Serializable {

	/**
	 * TODO
	 */
	private static final long serialVersionUID = -8358627123306830014L;

	// M 业务请求号
	@NotBlank(message = "业务请求号不能为空")
	private String requestNo;

	// M 收款方银盛商户号
	@NotBlank(message = "收款方银盛商户号不能为空")
	private String payeeMerchantNo;

	// M 商品名称/订单标题
	@NotBlank(message = "商品名称/订单标题不能为空")
	private String orderDesc;

	// M 交易金额，单位：元 取值范围：0.01-999999.99
	@NotBlank(message = "交易金额不能为空")
	private String amount;

	// M 扫码支付授权码(APP中的付款码)，设备读取用户展示的条码或者二维码信息
	@NotBlank(message = "扫码支付授权码不能为空")
	private String authCode;

	// M 收款终端设备号，长度8位
	@NotBlank(message = "收款终端设备号不能为空")
	private String terminalNo;

	// M 支付渠道1902000-微信，1903000-支付宝 9001002-银联
	@NotBlank(message = " 支付渠道不能为空")
	private String bankType;

	// O 支付成功结果异步通知地址，为空则不通知 支持多个url，url之间用分隔符“,”分开
	private String notifyUrl;

	// O 币种，默认为CNY
	private String currency;

	// O 业务代码
	private String busiCode;

	// O 限制支付方式 01-禁用信用卡支付 02-禁用花呗 03-禁用花呗分期 04-禁用所有信用支付类型
	private String limitPay;

	// O 交易类型 01-即时交易（默认值） 02-担保交易
	private String tranType;

	// O 是否分账，未开通分账功能或交易类型为担保交易时此参数无作用 Y-是（需调用分账登记接口进行分账） N-否（直接入账到收款方账户）
	private String isDivision;

	// O 备注，回调时原样返回
	private String remark;

	// O 订单有效期，单位：分钟此参数需开通白名单配置后生效 默认支付有效时间为7天
	private String timeOut;

	// O 代理商编号，风控限额应用字段
	private String agentNo;

	// O 交易所属省编码
	private String provinceCode;

	// O 交易所属市编码
	private String cityCode;

	// O 业务扩展参数，JSON格式
	private String extendParams;

	public String getOrderDesc() {
		return orderDesc;
	}

	public void setOrderDesc(String orderDesc) {
		this.orderDesc = orderDesc;
	}

	public String getRequestNo() {
		return requestNo;
	}

	public void setRequestNo(String requestNo) {
		this.requestNo = requestNo;
	}

	public String getPayeeMerchantNo() {
		return payeeMerchantNo;
	}

	public void setPayeeMerchantNo(String payeeMerchantNo) {
		this.payeeMerchantNo = payeeMerchantNo;
	}

	public String getAmount() {
		return amount;
	}

	public void setAmount(String amount) {
		this.amount = amount;
	}

	public String getAuthCode() {
		return authCode;
	}

	public void setAuthCode(String authCode) {
		this.authCode = authCode;
	}

	public String getTerminalNo() {
		return terminalNo;
	}

	public void setTerminalNo(String terminalNo) {
		this.terminalNo = terminalNo;
	}

	public String getBankType() {
		return bankType;
	}

	public void setBankType(String bankType) {
		this.bankType = bankType;
	}

	public String getNotifyUrl() {
		return notifyUrl;
	}

	public void setNotifyUrl(String notifyUrl) {
		this.notifyUrl = notifyUrl;
	}

	public String getCurrency() {
		return currency;
	}

	public void setCurrency(String currency) {
		this.currency = currency;
	}

	public String getBusiCode() {
		return busiCode;
	}

	public void setBusiCode(String busiCode) {
		this.busiCode = busiCode;
	}

	public String getLimitPay() {
		return limitPay;
	}

	public void setLimitPay(String limitPay) {
		this.limitPay = limitPay;
	}

	public String getTranType() {
		return tranType;
	}

	public void setTranType(String tranType) {
		this.tranType = tranType;
	}

	public String getIsDivision() {
		return isDivision;
	}

	public void setIsDivision(String isDivision) {
		this.isDivision = isDivision;
	}

	public String getRemark() {
		return remark;
	}

	public void setRemark(String remark) {
		this.remark = remark;
	}

	public String getTimeOut() {
		return timeOut;
	}

	public void setTimeOut(String timeOut) {
		this.timeOut = timeOut;
	}

	public String getAgentNo() {
		return agentNo;
	}

	public void setAgentNo(String agentNo) {
		this.agentNo = agentNo;
	}

	public String getProvinceCode() {
		return provinceCode;
	}

	public void setProvinceCode(String provinceCode) {
		this.provinceCode = provinceCode;
	}

	public String getCityCode() {
		return cityCode;
	}

	public void setCityCode(String cityCode) {
		this.cityCode = cityCode;
	}

	public String getExtendParams() {
		return extendParams;
	}

	public void setExtendParams(String extendParams) {
		this.extendParams = extendParams;
	}

}
